import Observer from "./Observer.js"

export default function observe (value){
    // 如果value不是对象，没必要再次设置get和set
    // 同时避免无限递归
    if (typeof value !== 'object') return

    // value.__ob__ 这个是observer的实例，再这一步对value上面设置了__ob__
    // 如果这个key存在，说明value已经设置了响应式
    if(value.__ob__) return value.__ob__
    // 上面的条件都不满足，直接返回observer的实例
    return new Observer(value)
}